namespace Brjnk.GpxExplorer.Workspace.BitmapExport
{
    /// <summary>
    /// </summary>
    public class TrackLabelStyle : GeoObjectLabelStyle
    {
        static TrackLabelStyle()
        {
            DefineInheritableValue("ShowTrkLength", true);
            DefineInheritableValue("ShowTrkAvgSpeed", true);
            DefineInheritableValue("ShowTrkDuration", true);
            DefineInheritableValue("ShowTrkRised", false);
            DefineInheritableValue("ShowTrkFallen", false);
        }

        public TrackLabelStyle() { }

        public TrackLabelStyle(TrackLabelStyle parent)
            : base(parent) { }

        public bool ShowTrkLength
        {
            get { return base.GetValue<bool>("ShowTrkLength"); }
            set { base.SetValue("ShowTrkLength", value); }
        }

        public bool IsShowTrkLengthLocal
        {
            get { return base.IsLocalGetter("ShowTrkLength"); }
            set { base.IsLocalSetter("ShowTrkLength", value); }
        }

        public bool ShowTrkAvgSpeed
        {
            get { return base.GetValue<bool>("ShowTrkAvgSpeed"); }
            set { base.SetValue("ShowTrkAvgSpeed", value); }
        }

        public bool IsShowTrkAvgSpeedLocal
        {
            get { return base.IsLocalGetter("ShowTrkAvgSpeed"); }
            set { base.IsLocalSetter("ShowTrkAvgSpeed", value); }
        }

        public bool ShowTrkDuration
        {
            get { return base.GetValue<bool>("ShowTrkDuration"); }
            set { base.SetValue("ShowTrkDuration", value); }
        }

        public bool IsShowTrkDurationLocal
        {
            get { return base.IsLocalGetter("ShowTrkDuration"); }
            set { base.IsLocalSetter("ShowTrkDuration", value); }
        }

        public bool ShowTrkRised
        {
            get { return base.GetValue<bool>("ShowTrkRised"); }
            set { base.SetValue("ShowTrkRised", value); }
        }

        public bool IsShowTrkRisedLocal
        {
            get { return base.IsLocalGetter("ShowTrkRised"); }
            set { base.IsLocalSetter("ShowTrkRised", value); }
        }

        public bool ShowTrkFallen
        {
            get { return base.GetValue<bool>("ShowTrkFallen"); }
            set { base.SetValue("ShowTrkFallen", value); }
        }

        public bool IsShowTrkFallenLocal
        {
            get { return base.IsLocalGetter("ShowTrkFallen"); }
            set { base.IsLocalSetter("ShowTrkFallen", value); }
        }
    }
}